home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-27 | 7.4 KB | 248 lines |
- 10 'COAXTRAP - Antenna Trap Design - 31 JAN 94 rev. 24 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF
- 40 COLOR 7,0,1
- 50 UL$=STRING$(80,205)
- 60 ER$=STRING$(80,32)
- 70 U$="####.###"
- 80 V$="####.##"
- 90 Q$=CHR$(34)
- 100 PI=3.14159
- 110 LF=1/LOG(10) 'log conversion to base 10
- 120 DIM C$(50,7) 'coax specs.
- 130 '
- 140 '.....start
- 150 CLS
- 160 OPEN"I",1,"\data\coaxial.fil"
- 170 FOR Z=1 TO 50:FOR Y=1 TO 7
- 180 INPUT#1,Z$
- 190 IF RIGHT$(Z$,5)=" Foam"THEN Z$=LEFT$(Z$,LEN(Z$)-5)+"(f)"
- 200 IF RIGHT$(Z$,6)="Belden"THEN Z$=LEFT$(Z$,4)
- 210 C$(Z,Y)=Z$
- 220 NEXT Y:NEXT Z
- 230 CLOSE
- 240 FOR Y=1 TO 44
- 250 E=VAL(C$(Y,3)) 'dielectric constant
- 260 Z=VAL(C$(Y,5)) 'characteristic impedance
- 270 D=10^(Z*SQR(E)/138)
- 280 C=7.36*E/(LOG(D)*LF) '>F/ft.
- 290 C$(Y,2)=STR$(C)
- 300 C$(Y,3)=C$(Y,4)
- 310 NEXT Y
- 320 '
- 330 COLOR 15,2
- 340 PRINT " COAXIAL CABLE TRAPS FOR MULTI-BAND ANTENNAS";
- 350 PRINT TAB(57);"by George Murphy VE3ERP ";
- 360 COLOR 1,0:PRINT STRING$(80,223);
- 370 COLOR 7,0
- 380 '
- 390 '.....text
- 400 PRINT TAB(7);
- 410 PRINT "This program is an adaptation of a program by Larry East W1HUE as ";
- 420 PRINT TAB(7);
- 430 PRINT "it appears in the ARRL Antenna Compendium, Volume 2, page 100."
- 440 PRINT
- 450 PRINT TAB(7);
- 460 PRINT "The program will calculate the turns required for an antenna trap"
- 470 PRINT TAB(7);
- 480 PRINT "made from coaxial cable. It also calculates and displays Inductive"
- 490 PRINT TAB(7);
- 500 PRINT "Reactance (XL), Capacitive Reactance (XC), Inductance (L), and"
- 510 PRINT TAB(7);
- 520 PRINT "Capacitance (C) values. Inputs required are coax type, coil form"
- 530 PRINT TAB(7);
- 540 PRINT "diameter and trap frequency."
- 550 PRINT
- 560 PRINT TAB(7);
- 570 PRINT "Cutting and trimming dimensions for the coax are also included."
- 580 PRINT
- 590 '
- 600 '.....diagram
- 610 T=12 'tab
- 620 COLOR 0,7
- 630 LOCATE ,T:PRINT " "
- 640 LOCATE ,T:PRINT " coaxial cable before winding into a coil SOUNDCOLOR "
- 650 LOCATE ,T:PRINT " CALL "
- 660 LOCATE ,T:PRINT " in DEFDBLSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR CALL "
- 670 LOCATE ,T:PRINT " ERRSTEPTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENshieldTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENOPTIONDEFSNGSOUND' "
- 680 LOCATE ,T:PRINT " VARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDinner conductorSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBL out "
- 690 LOCATE ,T:PRINT " CALL ERLTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENshieldTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENFNSAVE "
- 700 LOCATE ,T:PRINT " CLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND' "
- 710 LOCATE ,T:PRINT " "
- 720 COLOR 0,7:LOCATE 25,22
- 730 PRINT " Press 1 to continue or 0 to EXIT.....";
- 740 COLOR 7,0
- 750 Z$=INKEY$:IF Z$=""THEN 750
- 760 IF Z$="0"THEN CLS:RUN EX$
- 770 IF Z$="1"THEN 790
- 780 GOTO 750
- 790 GOSUB 2350
- 800 '
- 810 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 820 PRINT " Press number in < > to choose standard units of measure:"
- 830 PRINT UL$;
- 840 PRINT " < 1 > Metric"
- 850 PRINT " < 2 > U.S.A./Imperial"
- 860 K$=INKEY$
- 870 IF K$="1"THEN UM=25.4:UM$="mm.":GOTO 910
- 880 IF K$="2"THEN UM=1:UM$="in.":GOTO 910
- 890 GOTO 860
- 900 '
- 910 '.....print coax list
- 920 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 930 IF UM=1 THEN M$="ft."ELSE M$="m. "
- 940 PRINT " No. Type pF/";M$;" O.D. CALL";
- 950 PRINT " No. Type pF/";M$;" O.D. CALL";
- 960 PRINT " No. Type pF/";M$;" O.D."
- 970 PRINT UL$;
- 980 LOCATE CSRLIN-1,27:PRINT "INSTR":LOCATE CSRLIN-1,54:PRINT "INSTR"
- 990 IF UM=1 THEN CL=1:D$=".###"ELSE CL=0.3048:D$="##.#"
- 1000 FOR Z=1 TO 15
- 1010 IF LEN(STR$(Z))=3 THEN PRINT STR$(Z)+":";ELSE PRINT " "+STR$(Z)+":";
- 1020 PRINT TAB(6);C$(Z,1);TAB(15);USING "###.#";VAL(C$(Z,2))/CL;
- 1030 PRINT TAB(22);USING D$;VAL(C$(Z,3))*UM;
- 1040 PRINT TAB(27);"CALL"+STR$(Z+15)+":";
- 1050 PRINT TAB(33);C$(Z+15,1);TAB(42);USING "###.#";VAL(C$(Z+15,2))/CL;
- 1060 PRINT TAB(49)USING D$;VAL(C$(Z+15,3))*UM;
- 1070 IF C$(Z+30,1)="-"THEN PRINT " CALL":GOTO 1130
- 1080 PRINT TAB(54);"CALL";
- 1090 IF Z=15 THEN PRINT "":GOTO 1130
- 1100 PRINT STR$(Z+30)+":";
- 1110 PRINT TAB(60);C$(Z+30,1);TAB(69);USING "###.#";VAL(C$(Z+30,2))/CL;
- 1120 PRINT TAB(76)USING D$;VAL(C$(Z+30,3))*UM
- 1130 NEXT Z
- 1140 PRINT UL$;
- 1150 LOCATE CSRLIN-1,27:PRINT "STEP":LOCATE CSRLIN-1,54:PRINT "STEP"
- 1160 IF UM=1 THEN M$="inches"ELSE M$="millimetres"
- 1170 PRINT " NOTES: (f) denotes foam dielectric, OD dimensions are in ";M$;"."
- 1180 PRINT UL$;
- 1190 '
- 1200 '.....select type of coax
- 1210 INPUT " ENTER: No. from above table to select type of coaxial cable";COAX
- 1220 IF COAX>=1 AND COAX <=44 THEN 1250
- 1230 BEEP:LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 1210
- 1240 '
- 1250 '.....display coax specs.
- 1260 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 1270 T=10 'tab
- 1280 COLOR 7,0
- 1290 '
- 1300 INPUT " ENTER: Resonant frequency in MHz ";F
- 1310 IF F=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 1300
- 1320 W=300/F
- 1330 LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
- 1340 COLOR 15,1:LOCATE CSRLIN,T-1
- 1350 PRINT " RESONANT FREQUENCY........... ";USING U$;F;
- 1360 PRINT " MHz (";USING "###.###";W;:PRINT " metres ) "
- 1370 RAD=2*PI*F
- 1380 COLOR 15,3:LOCATE CSRLIN,T-1
- 1390 PRINT TAB(T-1);" Coaxial cable type........... ";C$(COAX,1);" "
- 1400 IF RIGHT$(C$(COAX,1),1)<>")"THEN 1420
- 1410 LOCATE CSRLIN-1,T+34:PRINT " (foam dielectric)"
- 1420 COLOR 7,0
- 1430 CD=VAL(C$(COAX,3)) 'coax diameter
- 1440 IF UM=1 THEN M$=U$ ELSE M$=V$
- 1450 PRINT TAB(T);"Coaxial cable diameter....... ";USING M$;CD*UM;
- 1460 PRINT " ";UM$
- 1470 CC=VAL(C$(COAX,2)) 'coax capacitance per foot
- 1480 IF UM=1 THEN CCC=CC:M$="ft."ELSE CCC=CC/0.3048:M$="m."
- 1490 PRINT TAB(T);"Coaxial cable capacitance.... ";USING U$;CCC;
- 1500 PRINT " pF/";M$
- 1510 CC=CC/12 'capacitance per inch
- 1520 '
- 1530 PRINT " ENTER: Coil form diameter (";UM$;").....";:INPUT D:D=D/UM
- 1540 IF D=0 THEN LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1:GOTO 1530
- 1550 A=D+CD 'mean winding diameter
- 1560 A18=18*A
- 1570 C40=40*CD
- 1580 LOCATE CSRLIN-1:PRINT ER$;:LOCATE CSRLIN-1
- 1590 COLOR 15,3:LOCATE CSRLIN,T-1
- 1600 IF UM=1 THEN M$=U$ ELSE M$=V$
- 1610 PRINT " Coil form diameter........... ";USING M$;D*UM;
- 1620 PRINT " ";UM$
- 1630 COLOR 7,0
- 1640 '
- 1650 '.....initial estimate of N
- 1660 N0=INT((570/F)*SQR(CD/(A^3*CC))+0.5)
- 1670 '
- 1680 '.....first calculation loop
- 1690 FOR N=N0 TO N0+20 STEP 0.01
- 1700 L=A^2*N^2/(A18+C40*N)
- 1710 XL=RAD*L
- 1720 C=(A*PI*N+1)*CC
- 1730 XC=10^6/(RAD*C)
- 1740 IF XL>= XC THEN 1770
- 1750 NEXT N
- 1760 '
- 1770 '.....second calculation loop
- 1780 FOR N1=(N-0.5)TO(N+0.5) STEP 0.000999999
- 1790 L=A^2*N1^2/(A18+C40*N1)
- 1800 XL=RAD*L
- 1810 C=(A*PI*N1+1)*CC
- 1820 XC=10^6/(RAD*C)
- 1830 IF XL>= XC THEN 1860
- 1840 NEXT N1
- 1850 '
- 1860 '.....display results
- 1870 PRINT TAB(T);"Capacitive reactance (XC).....";USING U$;XC;:PRINT " -"
- 1880 PRINT TAB(T);"Inductive reactance (XL)......";USING U$;XL;:PRINT " -"
- 1890 PRINT TAB(T);"Inductance (L)............... ";USING U$;L;:PRINT " >H"
- 1900 PRINT TAB(T);"Capacitance (C).............. ";USING U$;C;:PRINT " pF"
- 1910 COLOR 15,3:LOCATE CSRLIN,T-1
- 1920 PRINT " Number of turns.............. ";USING U$;N1;:PRINT " "
- 1930 COLOR 7,0
- 1940 W=INT((N1+0.5)*CD*100+0.5)/100
- 1950 IF UM=1 THEN M$=U$ ELSE M$=V$
- 1960 IF UM=25.4 THEN UM=2.54:UM$="cm."
- 1970 PRINT TAB(T);"Length of close-wound coil... ";USING M$;W*UM;:PRINT " ";UM$
- 1980 RA=W/A
- 1990 IF RA<0.4 OR RA>2 THEN COLOR 14,0
- 2000 PRINT TAB(T);"Length-to-diameter ratio..... ";USING U$;RA;
- 2010 PRINT ":1 (see note below)"
- 2020 COLOR 7,0
- 2030 SL=INT(A*PI*N1*100+0.5)/100 'shield length
- 2040 CL=SL+W+1
- 2050 PRINT TAB(T);"Length of untrimmed coax..... ";USING M$;CL*UM;:PRINT " ";UM$
- 2060 PRINT TAB(T);"Trimmed shield length........ ";USING M$;SL*UM;:PRINT " ";UM$
- 2070 IE=W+0.5
- 2080 PRINT TAB(T);"Inner conductor, ";Q$;"in";Q$;" end.... ";USING M$;IE*UM;
- 2090 PRINT " ";UM$;" projecting"
- 2100 OE=CL-SL-IE
- 2110 PRINT TAB(T);"Inner conductor, ";Q$;"out";Q$;" end... ";USING M$;OE*UM;
- 2120 PRINT " ";UM$;" projecting"
- 2130 EL=SL*0.88+1
- 2140 PRINT TAB(T);"Effective Length............. ";USING M$;EL*UM;:PRINT " ";UM$
- 2150 PRINT UL$;
- 2160 IF RA>2 OR RA<0.4 THEN COLOR 14,0
- 2170 PRINT " The length-to-diameter ratio should be between 0.4:1 and 2:1."
- 2180 IF RA>=0.4 AND RA<=2 THEN PRINT "":GOTO 2210
- 2190 IF RA>2 THEN RA$="larger"ELSE RA$="smaller"
- 2200 PRINT " Try a ";RA$;" coil form."
- 2210 COLOR 7,0
- 2220 PRINT " The Effective Length is the estimated amount that the next-lower-";
- 2230 PRINT "frequency leg"
- 2240 PRINT " of the trap antenna must be shortened to obtain resonance.";
- 2250 GOSUB 2350
- 2260 LOCATE 25,14:COLOR 15,2
- 2270 PRINT " Do you want to do another calculation?........(y/n) ";
- 2280 COLOR 7,0
- 2290 Z$=INKEY$
- 2300 IF Z$="n"THEN 140
- 2310 IF Z$="y"THEN 870
- 2320 GOTO 2290
- 2330 GOTO 140 'start
- 2340 '
- 2350 'HARDCOPY
- 2360 GOSUB 2470:LOCATE 25,2:COLOR 14,6
- 2370 PRINT " Press 1 to print screen, 2 to print screen & ";
- 2380 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 2390 Z$=INKEY$:IF Z$="3"THEN GOSUB 2470:RETURN
- 2400 IF Z$="1"OR Z$="2"THEN GOSUB 2470:GOTO 2420
- 2410 GOTO 2390
- 2420 FOR QX=1 TO 24:FOR QY=1 TO 80
- 2430 LPRINT CHR$(SCREEN(QX,QY));
- 2440 NEXT QY:NEXT QX
- 2450 IF Z$="2"THEN LPRINT CHR$(12)
- 2460 GOTO 2360
- 2470 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-